<?php
namespace app\admin\model;

use think\Db;
use think\Log;
use think\Exception;
use think\Model;

class Goods extends Model
{
    /**
     * 商品列表
     * @author wcy
     * @version 2017年4月28日13:31:04
     */
    public function goodsList($search,$start,$length){
        try{
            $where="1=1";
            if(!empty($search)){
                $where=$where." and goods_name like '%$search%'";
            }
            $data=Db::table("goods")->where($where)->limit($start,$length)->select();
            $count=Db::table("goods")->where($where)->count();
            return array("data"=>$data,"count"=>$count);
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     * 添加商品
     * @author wcy
     * @version 2017年4月28日14:03:38
     */
    public function addGoods($data,$goods_imgs){
        try{
            if(!empty($goods_imgs)){
                Db::startTrans();
                $res=Db::table("goods")->insert($data);
                $id=Db::table("goods")->getLastInsID();
                $imgs=explode("|",$goods_imgs);
                foreach($imgs as $key=>$val){
                    $dataimg[] = array("goods_id" => $id, "goods_img" => $val);
                }
                $r=Db::table("goods_img")->insertAll($dataimg);
                if($res!==false&&$r!==false){
                    Db::commit();
                    return true;
                }else{
                    Db::rollback();
                    return false;
                }
            }else{
                $res=Db::table("goods")->insert($data);
            }
            return $res;
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     * 编辑商品
     * @author wcy
     * @version 2017年5月2日14:01:55
     */
    public function editGoods($id,$data,$goods_imgs){
        try{
            $r=true;
            $res=true;
            Db::startTrans();
            if(!empty($goods_imgs)){
                $imgs=explode("|",$goods_imgs);
                foreach($imgs as $key=>$val){
                    $dataimg[] = array("goods_id" => $id, "goods_img" => $val);
                }
                $r=Db::table("goods_img")->insertAll($dataimg);
            }
            $res=Db::table("goods")->where("id=$id")->update($data);
            if($r!==false&&$res!==false){
                Db::commit();
                return true;
            }else{
                Db::rollback();
                return false;
            }
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     *  修改商品状态
     * @author wcy
     * @version 2017年5月5日10:34:44
     */
    public function editGoodsStatus($id,$data){
        try{
            $res=Db::table("goods")->where("id=$id")->update($data);
            return $res;
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     * 添加判断商品名称是否存在
     * @author wcy
     * @version 2017年4月28日14:05:54
     */
    public function getGoodsName($goods_name){
        try{
            $count=Db::table("goods")->where("goods_name='$goods_name'")->count();
            return $count;
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     * 编辑判断商品名称是否存在
     * @author wcy
     * @version 2017年5月2日14:01:18
     */
    public function getGoodsNameEdit($id,$goods_name){
        try{
            $count=Db::table("goods")->where("goods_name='$goods_name' and id!=$id")->count();
            return $count;
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     * 获取商品的信息
     * @author wcy
     * @version 2017年5月2日13:47:00
     */
    public function getGoodsById($id){
        try{
            $data=Db::table("goods")->where("id='$id'")->find();
            return $data;
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }
    /**
     * 删除商品
     * @author wcy
     * @version 2017年5月2日10:12:43
     */
    public function delGoods($id){
        try{
            $res=Db::table("goods")->where("id=$id")->delete();
            return $res;
        }catch (Exception $e){
            Log::record($e->getMessage());
            return false;
        }
    }


}